package com.zx.notification.consumer.service;


/**
 * 消息处理服务接口
 * 负责处理各种渠道的消息，包括站内信、WebSocket、短信、邮件等
 */
public interface IMessageProcessService {

    /**
     * 处理站内信消息
     *
     * @param notificationId 通知ID
     * @param title          消息标题
     * @param content        消息内容
     * @param userId         用户ID
     * @param taskId         任务ID
     */
    void processInboxMessage(String notificationId, String title, String content, String userId, String taskId);

    /**
     * 处理WebSocket消息
     *
     * @param notificationId 通知ID
     * @param title          消息标题
     * @param content        消息内容
     * @param userId         用户ID
     * @param taskId         任务ID
     */
    void processWebsocketMessage(String notificationId, String title, String content, String userId, String taskId);

    /**
     * 处理短信消息
     *
     * @param notificationId 通知ID
     * @param content        消息内容
     * @param userId         用户ID
     * @param taskId         任务ID
     */
    void processSmsMessage(String notificationId, String content, String userId, String taskId);

    /**
     * 处理邮件消息
     *
     * @param notificationId 通知ID
     * @param content        消息内容
     * @param userId         用户ID
     * @param taskId         任务ID
     */
    void processEmailMessage(String notificationId, String content, String userId, String taskId);

    /**
     * 处理APP推送消息
     *
     * @param notificationId 通知ID
     * @param content        消息内容
     * @param userId         用户ID
     * @param taskId         任务ID
     */
    void processAppPushMessage(String notificationId, String content, String userId, String taskId);

    /**
     * 处理微信消息
     *
     * @param notificationId 通知ID
     * @param content        消息内容
     * @param userId         用户ID
     * @param taskId         任务ID
     */
    void processWechatMessage(String notificationId, String content, String userId, String taskId);


}